$(function () {
    // 封装模板引擎数据获取函数
    // obj.url:接口路径
    // obj.id: 模板引擎id
    // obj.class：模板容器
    // obj.fun: 回调函数（可选）
    function showData(obj) {
        $.ajax({
            type: 'get',
            url: obj.url,
            success: function (backData) {
                if (backData.code == 200) {
                    let data = backData.data;
                    $(obj.class).html(template(obj.id, data));
                    if (obj.fun) {
                        obj.fun();
                    }
                }
            }
        });
    }

    // 导航栏数据加载
    showData({
        url: BigNew.index_category,
        id: 'tpl-nav',
        class: '.level_two, .left_menu',
        fun: function () {
            $('.level_two').prepend('<li class="up"></li>');
        }
    });

    // 排行榜数据获取
    showData({
        url: BigNew.index_rank,
        id: 'tpl-rank',
        class: 'ul.content_list',
    });

    // 最新评论数据获取
    showData({
        url: BigNew.index_latest_comment,
        id: 'tpl-comment',
        class: '.comment_list',
    });

    // 焦点关注数据获取
    showData({
        url: BigNew.index_attention,
        id: 'tpl-attention',
        class: '.guanzhu_list',
    });

    // 获得当前文章id
    let articleId = window.location.search.split('=')[1];
    // 发起ajax请求 获得文章详细信息 渲染页面
    $.ajax({
        type: 'get',
        url: BigNew.index_article,
        data: {
            id: articleId
        },
        success: function (backData) {
            if (backData.code == 200) {
                let data = backData.data;
                $('.breadcrumb a').eq(1).text(data.category);
                $('.article_title').text(data.title);
                $('.article_info').html(`${data.author} 发布于 ${data.date}&nbsp;&nbsp;&nbsp;分类: ${data.category}&nbsp;&nbsp;&nbsp;阅读:
                (${data.read})&nbsp;&nbsp;&nbsp;评论: (${data.comments})`);
                $('.article_con').html(data.content);

                // 判断是否有上一篇
                if (data.prev) {
                    $('.prev').eq(0).attr('href', `/article.html?articleId=${data.prev.id}`).text(data.prev.title);
                } else {
                    $('.prev').eq(0).attr('href', '#').text('无文章');
                }

                // 判断是否有下一篇
                if (data.next) {
                    $('.next').eq(0).attr('href', `/article.html?articleId=${data.next.id}`).text(data.next.title);
                } else {
                    $('.next').eq(0).attr('href', '#').text('无文章');
                }
            }
        }
    });

    // 获取用户评论 渲染评论区
    $.ajax({
        type: 'get',
        url: BigNew.index_get_comment,
        data: {
            articleId: articleId
        },
        success: function (backData) {
            if (backData.code == 200) {
                let data = backData.data;
                $('.comment_list_con').html(template('tpl-comments', data));
                $('.comment_count').html(`${data.length}条评论`);
            }
        }
    });

    // 设置点击评论按钮发表评论功能
    $('.comment_sub').on('click', function (e) {
        e.preventDefault();
        let author = $('.comment_name').val().trim();
        let content = $('.comment_input').val().trim();
        if (author == '' || content == '') return;
        // 发起ajax请求 获得用户评论信息发送到后台
        $.ajax({
            type: 'post',
            url: BigNew.index_post_comment,
            data: {
                author: author,
                content: content,
                articleId: articleId
            },
            success: function (backData) {
                if (backData.code == 201) {
                    alert('评论成功，等待后台审核中...');
                    $('.comment_name').val('');
                    $('.comment_input').val('');
                }
            }
        })
    })
})